---
title: 开源生态评估与度量的思考（一）——演进与趋势
tags:
  - 博客
authors:
  - name: 王晔晖
    title: 开源指南针
---

近年来，我一直从事与开源生态评估相关的工作。本系列文章旨在总结我的工作经验，并整理出接下来的工作思路，同时期待与大家的交流。

通过对过去三十多年学术界和开源产业的观察，我们可以发现开源社区评估与度量主要集中在三个主流方向：开源软件、开源项目和开源生态。这些方向的产生与时代背景密切相关，并且随着开源的发展，它们的边界逐渐模糊，相互之间也呈现出相互包含的趋势。同时由于不同市场和用户关注的重点不同，导致它们在某种程度上独立发展。

<!--truncate-->

### 01 三个主流方向

#### 开源软件（上世纪 90s ~ 至今）

在上世纪 90 年代，人们开始关注以开源形式进行软件开发和分发的开源软件质量。这个方向始终是业界的关注焦点，因为软件作为实际面向用户的产品，是开源价值的具体体现。在这个方向上，评估指标和维度的构建大多可见 CMMI（Capability Maturity Model Integration）的影子，因此我们看到了许多以"开源"和"成熟度"为关键词的评估框架，例如 OpenSource Maturity Model2，用于根据不同成熟度层次评估软件。

<center>

![1.png](media/1.png)

  <font color={'#888888'} size={2}>

CMMI（Capability Maturity Model Integration）

  </font>

</center>

<center>

![1.png](media/2.png)

  <font color={'#888888'} size={2}>

OpenSource Maturity Model

  </font>

</center>

同时，这个方向的具体内容，可以分为两个部分。第一部分是关注软件质量，与软件是否开源并没有太大关系，它关注的是软件本身的质量。这与 ISO/IEC25010（前身是 ISO/IEC 9126）的软件质量模型非常相似，包括功能性、兼容性、安全性、可靠性、易用性、效率、可维护性和可移植性等八个属性。第二部分涉及开源软件特有的一些方面，如开源安全漏洞、法律合规性和开源供应链管理等。随着开源软件在各行业中的依赖程度越来越高，这些内容近年来成为业界普遍关注的焦点。

<center>

![1.png](media/3.png)

  <font color={'#888888'} size={2}>

ISO/IEC25010

  </font>

</center>

综合来看，这个方向的核心还是放在开源软件这个关键词上。

#### 开源项目（2000s ~ 至今）

本世纪初，学术界开始将注意力从开源软件本身拓展到了开源项目，并建立了各种指标来评估开源协作和社区的价值。主要关注两个方面：一是开源项目中开发者的作用，包括对开发者进行画像、开发者的留存情况、开发者的多样性以及使用帕累托原则衡量不同开发者对社区贡献的比例等；另一方面是项目的可持续发展，通过项目活跃度、社区服务质量和社区的公开透明度等方面构建评估模型。

在这个主流方向中，Eric S. Raymond 于 1999 年出版的《大教堂和集市》（The Cathedral and the Bazaar）产生了深远影响，Jono Bacon 的《社区的艺术》（The Art of Community）等著作也为开源项目评估提供了重要的实践指导。开源项目也将开源软件的部分度量也考虑在内，比较有代表意义的是 Apache Foundation 的 Apache Project Maturity Model。但是总的来说，这个方向的关注点在于开源项目自身的发展。

<center>

![1.png](media/4.png)

  <font color={'#888888'} size={2}>

The Cathedral and the Bazaar

  </font>

</center>

#### 开源生态（2010s ~至今）

随着开源软件和开源项目的蓬勃发展，人们开始关注整个开源生态系统的健康和可持续性。开源生态的评估与度量在三大流派中，算是一个相对年轻的方向，直到 2010 年代才开始在一些顶级期刊论文中得到关注，例如 Slinger Jansen 在 2014 年发表的论文《Measuring the health of open source software ecosystems: Beyond the scope of project health》一文中首次提出了开源生态系统健康度量模型，该模型从生产力、稳健性和创新力三个维度评估开源生态的健康状况。同时一些组织和机构已经开始探索开源生态评估的指标和方法，例如 Linux Foundation 的 CHAOSS 社区。

<center>

![1.png](media/5.png)

  <font color={'#888888'} size={2}>

CHAOSS

  </font>

</center>

然而，开源生态评估的兴起并非偶然。在过去的 20 年里，企业利用开源生态构建移动互联网、大数据、云计算和人工智能等行业，已经成为一种商业战略趋势。这可以从微软前 CEO Steve Ballmer 于 2001 年发表的“Linux is a cancer that attaches itself in an intellectual property sense to everything it touches”的言论，到 2018 年微软以 75 亿美元收购全球最大的代码托管平台 GitHub 看出端倪。这显示了开源生态与商业战略的紧密结合。

开源生态的度量概念正是起源于商业生态的度量方法。1993 年，James F. Moor 在《哈佛商业评论》上发表了一篇名为《Predators and Prey: A New Ecology of Competition》的文章，首次定义了“商业生态系统（Business Ecosystem）”的概念，并推动了相关商业生态系统理论和应用的广泛传播。2004 年，Iansiti 和 Levien 在《哈佛商业评论》上发表了《Strategy as Ecology》，首次提出了从生产力、稳健性和创新力三个维度评估商业生态的思想。从商业生态的脉络可以发现，开源生态的度量维度（如上文 Slinger Jansen）正是借鉴于商业生态的思想。

<center>

![1.png](media/6.png)

  <font color={'#888888'} size={2}>

Strategy as Ecology

  </font>

</center>

具体而言，开源生态的三个度量维度代表着不同含义：

- 生产力：开源生态系统降低原始创新成本并将其转化为新产品和功能的能力。

- 创新力：随着时间的推移，开源生态系统不断增加有意义的参与者和多样性的能力。

- 稳健性：开源生态系统在面临冲击、扰动和中断时自我恢复并保持稳定的能力。

这些定义源自学术界的研究。根据我的理解，生产力反映了开源项目持续输出高质量软件制品的能力；创新力体现了开源项目与上下游合作伙伴和睦共处、不断演进的动力；稳健性则表明开源项目具备自我调节和恢复的韧性，能够应对内部挑战如安全漏洞和开源治理，以及来自外部生态系统的竞争。

### 02 LLMs 的碎碎念

2022 年底 ChatGPT 问世后，我从最初的惊讶逐渐冷静下来，开始重新思考整个工作思路。简单说两点思路，LLMs 对社区的评估与度量的影响是什么，反之评估与度量能在 LLMs 领域做些什么？

前者，在过去的几个月中，我们与南京大学研究团队合作，利用 LLMs 在自然语言处理方面的卓越能力，进行了一些实践尝试，并获得了积极的结果。先卖个关子，在合适的机会下，我希望将成果通过 OSS-Compass 为大家提供服务。

![1.png](media/7.png)

后者，是另外一个全新的领域，基于"开源本质在 LLMs 时代的典型范式是什么?"这个问题，我们也进行了相应的探索，这一部分希望能在明年跟大家一起做深入的探讨与合作。

### 03 后续

下一篇文章中，我将介绍如何构建一个完整的开源生态评估体系。

本系列文章为王晔晖原创，采用知识共享许可协议 CC-BY-NC-SA 4.0 进行公开，如需转载或使用请联系原作者yehui.wang.mdh@gmail.com。
